使用NI 9144扩展机箱及一系列工业通信驱动,美国国家仪器公司不断推出的确定性分布式I/O产品平台扩展了其对于,包括NI 9144扩展机箱及一系列工业通信驱动,且均支持被称为EtherCAT®的这种开放性实时Ethernet协议的支持。本技术文档涵盖了EtherCAT 技术在NI产品应用中的基本原理,包括协议基础、数据传输、及分布式时钟同步。
简介
EtherCAT(以太网控制自动化技术)是一种用于确定性以太网的高性能工业通信协议,它扩展了IEEE 802.3以太网标准,使得数据传输中具有可预测性定时及高精度同步等特点。这个开放性标准作为IEC 61158的组成部分,常用于机械设计及运动控制等应用中。
EtherCAT在标准的以太网电缆上应用主/从式的构架。美国国家仪器公司的EtherCAT主设备由带有两个以太网端口的实时控制器构成,如NI CompactRIO及PXI。每个NI从设备同样包含两个端口,允许以菊花链模式与主控制器连接。
[+] Enlarge Image
图1. 采用NI硬件的EtherCAT主/从构架
EtherCAT协议直接以标准以太网的帧格式传输数据,并不修改其基本结构。当主控制器和从设备处于同一子网时,EtherCAT协议仅替换以太网帧中的Internet 协议(IP)。
[+] Enlarge Image
图2. EtherCAT中的以太网帧结构
数据以过程数据对象(PDOs)形式在主从设备之间传输。每个PDO都包含单个或多个从设备的地址,这种数据加地址的结构(附带用于校验的传输计数位)组成了EtherCAT的报文。每个Ethernet帧可能包含数个报文,而一个控制周期中可能需要多帧来传送所需的所有报文。
数据传输
对于某些实时协议,主控制器发送数据包后必须等待每个从节点完成对数据的解析和复制。然而这种确定性方法很难维持,因为主控制器必须添加并管理一定量的处理时间及每个从设备的抖动。
EtherCAT技术能够在工作中处理每个以太网帧,从而克服了上述系统限制。举例来说,设想以太网的帧就像行驶中的火车,EtherCAT报文是每节火车车厢,PDO数据的比特就是车厢内的乘客,这些数据可以被提取并插入到合适的从设备中。整辆火车不停止地穿越所有从设备,在末端从设备处又掉头,重新反向穿越所有从设备。
图3. EtherCAT数据传输
同样道理,当设备1收到主设备发出的以太网数据包后,将自动开始将数据包发送到设备2,其间对数据包的读写延迟仅为数纳秒。由于数据包不断地在从设备之间传递,数据就能同时存在于数个设备上。
上述方法有什么实际意义呢?我们假设有50台从设备,需要向每个从设备发送不同数据。对于非EtherCAT的网络,需要发送50个不同的数据包;而对于EtherCAT,只需发送一个包含所有从设备数据的长数据包就行了,该数据包将遍历所有从设备。如果所有从设备需要接受相同的数据,那么只需要发送一个短数据包,所有从设备接收数据包的同一部分便可获得该数据,从而优化了数据传输速度及带宽。
高速性能
EtherCAT专为例如控制之类的单点应用()实现高性能、高通道数而设计。由于使从设备的读写可在同一帧中完成,因此EtherCAT报文结构针对于分散的I/O是一种优化结构。此外,由于整个协议处理由硬件完成,从而独立于协议栈运行时间、CPU性能或软件执行。例如,通过直接存储器存取(DMA),数据在网卡与主处理器或从设备I/O间传输时,能够实现最低的CPU使用率。同时,每个NI从设备均使用若干专用于PDO传输及地址解析的现场总线存储管理单元(FMMUs)。从设备(而非主设备)独立进行相应报文的映射,从而降低了主设备的复杂性,释放更多资源。
定时及同步
实现确定性网络的另一个因素是主控制器通过分布式时钟同步从设备的能力。从设备中必须有一台输出主时钟用于与其它从设备时钟进行同步。在NI的设计实现中,第一台从设备包含了主时钟,主控制器发送的特殊同步报文在每个扫描周期中读取主时钟。该报文更新并调整所有其它从设备时钟,以消除时钟偏移。
精确同步非常重要,尤其是在大范围分布式处理应用中要求同步执行时,如运动轴间的协调运动。NI采用时间戳来衡量发送与返回帧之间的时差。利用这种方式,可以计算节点间的传输延时,通过准确调节分布式时钟便可实现精确同步(小于1 µs)。
美国国家仪器公司提供多种在EtherCAT上兼容确定性分布式I/O的平台。对于主控制器,用户可选用带两端口的CompactRIO控制器或插有NI PXI-8231/8232以太网接口卡的PXI系统,配合适用NI-Industrial Communications for EtherCAT软件驱动。用户可通过菊花链方式在控制器上连接多台NI 9144从设备机箱完成时间确定性应用,以最小的处理器资源,维持硬件的高确定性。
NI 9144是坚固的8槽机箱,可支持30多种模拟、数字C系列模块。这些I/O模块能提供直接连接各类传感器性,并能重用于其它NI硬件平台。最重要的是,创新性的技术使得NI 9144的配置过程最简化,在LabVIEW 8.6 Real-Time软件中能够自动识别所有连接的从设备及其模块。使用LabVIEW,您可以通过 I/O 变量拖曳、实时测试面板、I/O 强制等功能轻松实现与物理通道连接,实现调试功能。